package com.ruicar.afs.cloud.message.sendmessage.dto;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

/**
 * @description: 短信接口组装实体
 * @author jiaqi.guo
 * @created 2020/8/7 10:26
 * @version 1.0
 */
@Data
public class MessageDataDto {
    /**
     * 本dto所有字段为必输,
     * 短信参数【"phone","summaryId","estimatedTime","templateId","smsContent","priority","origin","deptId"】
     * 邮件参数【"receiver","subject","emailContent","deptId","priority"】
     */
    /**
     * 接收消息手机号
     */
    @JSONField(name = "phone")
    private String phone;
    /**
     *消息摘要,可以自定,目的是防重。短信内容进行摘要，摘要结果是123，那么当这个手机号发送第二条内容一样的短信时，摘要结果也是123，那么消息中心会将其拦截，因为摘要结果重复了，系统认为对一个手机号发送两条一样的短信是异常的
     */
    @JSONField(name = "summaryId")
    private String summaryId;
    /**
     * 过期时间，yyyy-MM-dd HH:mm:ss。 这个参数是短信过期时间，比如客户扣款失败的短信，我们是在下午三点后，如果没发出去，就不再发了，这类短信就传 15:00，如果不给传参数，消息中心默认是当天晚上23:59失效。
     */
    @JSONField(name = "estimatedTime")
    private String estimatedTime;
    /**
     * 模板id。例如：申请人短信模板提醒短信信审模板类型是E10，那消息中心也会建立E10，这样对某类短信拦截时，消息中心可以根据E10这个模板来进行拦截，如不传参数，就默认是default，如果不传这个参数，如果某类短信不发送，只能从推送源上做控制，
     */
    @JSONField(name = "templateId")
    private String templateId;
    /**
     * 短信内容
     */
    @JSONField(name = "smsContent")
    private String smsContent;
    /**
     * 优先级1、2、3用于普通短信，5用于验证码。
     */
    @JSONField(name = "priority")
    private String priority;
    /**
     * 消息来源所属分类
     */
    @JSONField(name = "origin")
    private String origin;
    /**
     * 部门ID
     */
    @JSONField(name = "deptId")
    private String deptId;

    /************邮件使用字段***************/
    /**
     * 接收邮件邮箱地址
     */
    @JSONField(name = "receiver")
    private String receiver;
    /**
     * 邮件内容，最长350个字符
     */
    @JSONField(name = "emailContent")
    private String emailContent;
    /**
     * 邮件主题，最长35个字符
     */
    @JSONField(name = "subject")
    private String subject;
}
